package com.bestcem.xm.user.dao.mapper;

import com.bestcem.xm.user.entity.mysql.UserMfaRole;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 用户登录安全验证关联角色 mapper
 *
 * @author panyun <yun.pan@idiaoyan.com>
 * @version v1.0
 * @date 2022/6/9 16:18
 */
@Mapper
public interface UserMfaRoleMapper {

    /**
     * 根据主键删除
     *
     * @param id
     * @return int
     * @author Linzhijian <zhijian.lin@idiaoyan.com>
     * @date 2022/09/28 18:20
     */
    int deleteByPrimaryKey(String id);

    /**
     * 插入
     *
     * @param userMfaRole
     * @return int
     * @author Linzhijian <zhijian.lin@idiaoyan.com>
     * @date 2022/09/28 18:20
     */
    int insert(UserMfaRole userMfaRole);

    /**
     * 插入
     *
     * @param userMfaRole
     * @return int
     * @author Linzhijian <zhijian.lin@idiaoyan.com>
     * @date 2022/09/28 18:20
     */
    int insertSelective(UserMfaRole userMfaRole);

    /**
     * 根据主键查询
     *
     * @param id
     * @return int
     * @author Linzhijian <zhijian.lin@idiaoyan.com>
     * @date 2022/09/28 18:20
     */
    UserMfaRole selectByPrimaryKey(String id);

    /**
     * 根据主键更新
     *
     * @param userMfaRole
     * @return int
     * @author Linzhijian <zhijian.lin@idiaoyan.com>
     * @date 2022/09/28 18:20
     */
    int updateByPrimaryKeySelective(UserMfaRole userMfaRole);

    /**
     * 根据主键更新
     *
     * @param userMfaRole
     * @return int
     * @author Linzhijian <zhijian.lin@idiaoyan.com>
     * @date 2022/09/28 18:20
     */
    int updateByPrimaryKey(UserMfaRole userMfaRole);

    /**
     * 根据查询条件获取用户登录安全验证关联角色列表
     *
     * @param userMfaRole 查询条件
     * @return java.util.List<com.bestcem.xm.user.entity.mysql.UserMfaRole>
     * @author panyun <yun.pan@idiaoyan.com>
     * @date 2022/6/13 14:48
     */
    List<UserMfaRole> listByCondition(UserMfaRole userMfaRole);

    /**
     * 批量删除
     *
     * @param orgId 租户id
     * @param deleteRoleIds 要删除的roleIdList
     * @return int
     * @author panyun <yun.pan@idiaoyan.com>
     * @date 2022/6/13 20:20
     */
    int deleteByRoleIds(String orgId, List<String> deleteRoleIds);
}